/*
6-1 阶乘函数实现
分数 30
作者 陶利
单位 合肥师范学院

本题要求实现一个函数，可用循环或是递归的方法实现第n项阶乘函数的求解。

已知其公式如下：

当n=0,1时：n!=1；

当n>=2时，n!=n∗(n−1)!;
函数接口定义：

long Fact( int n );

其中 n 是输入的非负整数。
*/

#include <stdio.h>

long Fact(int n);

int main() {
    int n;
    scanf("%d", &n);

    printf("%d! = %ld\n", n, Fact(n));
    return 0;
}

/* 请在这里填写答案 */

// 知识点：递归
long Fact(int n) {
    if (n == 0 || n == 1) {
        // 递归终止条件
        return 1;
    } else {
        // 递归公式
        return n * Fact(n - 1);
    }
}
